// Jest Snapshot v1, https://goo.gl/fbAQLP

exports[`Arrays.js 1`] = `

/* @providesModule Arrays */

function foo(x:string) { }

var a = [];
a[0] = 1;
a[1] = "...";

foo(a[1]);
var y;
a.forEach(x => y=x);

// for literals, composite element type is union of individuals
// note: test both tuple and non-tuple inferred literals
var alittle: Array<?number> = [0, 1, 2, 3, null];
var abig: Array<?number> = [0, 1, 2, 3, 4, 5, 6, 8, null];

var abig2: Array<{x:number; y:number}> = [
  {x:0, y:0},
  {x:0, y:0},
  {x:0, y:0},
  {x:0, y:0},
  {x:0, y:0},
  {x:0, y:0},
  {x:0, y:0},
  {x:0, y:0},
  {x:0, y:0},
  {x:0, y:0},
  {x:0, y:0},
  {x:0, y:0},
  {x:0, y:0},
  {x:0, y:0, a:true},
  {x:0, y:0, b:"hey"},
  {x:0, y:0, c:1},
  {x:0, y:0, c:"hey"}
];

module.exports = "arrays";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/* @providesModule Arrays */

function foo(x: string) {}

var a = [];
a[0] = 1;
a[1] = "...";

foo(a[1]);
var y;
a.forEach(x => (y = x));

// for literals, composite element type is union of individuals
// note: test both tuple and non-tuple inferred literals
var alittle: Array<?number> = [0, 1, 2, 3, null];
var abig: Array<?number> = [0, 1, 2, 3, 4, 5, 6, 8, null];

var abig2: Array<{ x: number, y: number }> = [
  { x: 0, y: 0 },
  { x: 0, y: 0 },
  { x: 0, y: 0 },
  { x: 0, y: 0 },
  { x: 0, y: 0 },
  { x: 0, y: 0 },
  { x: 0, y: 0 },
  { x: 0, y: 0 },
  { x: 0, y: 0 },
  { x: 0, y: 0 },
  { x: 0, y: 0 },
  { x: 0, y: 0 },
  { x: 0, y: 0 },
  { x: 0, y: 0, a: true },
  { x: 0, y: 0, b: "hey" },
  { x: 0, y: 0, c: 1 },
  { x: 0, y: 0, c: "hey" }
];

module.exports = "arrays";

`;

exports[`numeric_elem.js 1`] = `
var arr = [];
var day = new Date;

// Date instances are numeric (see Flow_js.numeric) and thus can index into
// arrays.
arr[day] = 0;
(arr[day]: string); // error: number ~> string
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
var arr = [];
var day = new Date();

// Date instances are numeric (see Flow_js.numeric) and thus can index into
// arrays.
arr[day] = 0;
(arr[day]: string); // error: number ~> string

`;
